linuxnc: module init#513364
Conversation
207d3e8 to
53a5e22
Compare
4c8f394 to
becbef7
Compare
|
@fgaz thank you for the review and the feedback! |
a4a6b52 to
1663e57
Compare
|
Discovered further issues with the module:
Hmmh. Removed from the module. It is not strictly necessary, but obviously useful. If #471091 lands some time, we could add an override of the kernel packages again. |
555183d to
6ad141b
Compare
|
Re-based onto current master. Also added a patch to make detection of modern |
40fd36f to
bea7245
Compare
|
Added a fix for the |
bea7245 to
f11a3bc
Compare
|
Added a NixOS test for the module to verify basic functionality of LinuxCNC and auxiliary tools. |
229ace1 to
a57e4d7
Compare
|
Fixed a race condition in the unit test; in particular using |
a57e4d7 to
96078b2
Compare
|
Rebased on master again. Change release notes to 26.11, I'm quite sure that this won't land in 26.05 ... |
96078b2 to
0abd193
Compare
|
Rebased onto current master again. |
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review/3032/7055 |
0abd193 to
2765430
Compare
6fed259 to
7c02128
Compare
This is small CLI utility to interface with MESA IO cards for LinuxCNC. Co-authored-by: Sandro <sandro.jaeckel@gmail.com> Signed-off-by: wucke13 <wucke13+github@gmail.com>
This is a parser generator required for LinuxCNC to compile. Co-authored-by: Sandro <sandro.jaeckel@gmail.com> Signed-off-by: wucke13 <wucke13+github@gmail.com>
This adds TCL BLT, a plotting library which LinuxCNC uses in various places to provide graphs etc. The original library is long unmaintained and incompatible with TCL 8.5 and 8.6, but the Debian maintainers provide a patch series which makes it usable on _modern_ TCL. Notably, none of the many forks of the original BLT library (see https://wiki.tcl-lang.org/page/BLT for a list of them) works with LinuxCNC, only the bespoke original with the Debian patches works. Co-authored-by: Francesco Gazzetta <fgaz@fgaz.me> Co-authored-by: Sandro <sandro.jaeckel@gmail.com> Signed-off-by: wucke13 <wucke13+github@gmail.com>
|
@SuperSandro2000 I don't understand how, but some of the suggestions created CRLF to LF errors. Anyhow, thank you for the elaborate review! |
d9a1919 to
426cc84
Compare
This adds the LinuxCNC package. The package is quite messy, as LinuxCNC contains a mixture of GTK, TCL, QT, Python, C and C++ programs and GUI components. Most notably, this package has to use an opt-in impure mechanism for setuid wrappers (using symlinks pointing out of the store into `/run/wrappers/bin`) as LinuxCNC itself checks if the executables in LINUXCNC_HOME are setuid wrapped. Notably, as LINUXCNC_HOME is also used to find assets, we can not just overwrite the environment variable for the setuid wrapper. But the check also does not verify $0 to have setuid, but rather `$LINUXCNC_HOME/bin/rtapi_app`. There is an environment variable supposed to override these checks (`LINUXCNC_FORCE_REALTIME`), but it doesn't work (upstream issue: LinuxCNC/linuxcnc#3928) Also, the _modern_ LinuxCNC GUI (QtDragon) uses an olt qtwebkit severed by CVEs. As a compromise, this is an opt-in feature. Use needs to decide for themselves whether they are willing to take the risk of the associated CVEs. Co-authored-by: Sandro <sandro.jaeckel@gmail.com> Signed-off-by: wucke13 <wucke13+github@gmail.com>
Add a LinuxCNC module for real-time control of CNC machines from NixOS. Co-authored-by: Sandro <sandro.jaeckel@gmail.com> Signed-off-by: wucke13 <wucke13+github@gmail.com>
426cc84 to
a61763e
Compare
This adds a LinuxCNC package and module to NixOS, making NixOS a viable alternative to Debian based distros for CNC machine control. The module and package have been developed for my local hackerspace, and have seen a bit of real world testing with a machine that uses an Ethernet based MESA IO card (MESA 7i76EU).
This addresses #376539 .
@mattywillo I started with your work over on but deviateted quite a bit in a few places. I would appreciate feedback :)
@crabdance & @vetsin you showed interest in this in the past, of course I'm also eager to hear from you what you think.
Things done
passthru.tests.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.